﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Domain; //подключение Domain
using Session; //подключение Session
using Notif; //подключение Notif

namespace Sale_Dep_Dlv
{
    public partial class FormDlvInsr : Form
    {
        BrokerDlv b_dlv = new BrokerDlv(); // объявление BrokerDlv
        int idx;
        public FormDlvInsr()
        {
            InitializeComponent();
        }

        private void Dlv_Insr_sBt_Insr_Click(object sender, EventArgs e) // при нажатии кнопки "Добавить"
        {
            try
            {
                Dm_Pers prs = new Dm_Pers(); // объявление Dm_Pers
                Dm_Delivery dlv = new Dm_Delivery(); // объявление Dm_Delivery

                prs = Dlv_Insr_cBE_Mg.SelectedItem as Dm_Pers; // присвоение значений prs из Dlv_Insr_cBE_Mg

                dlv.Date = Convert.ToDateTime(Dlv_Insr_dE_Dt.Text); // присвоение значений dlv.Date из Dlv_Insr_dE_Dt.Text
                dlv.Dis_time_ready = Dlv_Insr_tE_DsTmRd.Text; // присвоение значений dlv.Dis_time_ready из Dlv_Insr_tE_DsTmRd.Text
                dlv.Customer = Dlv_Insr_tE_Ctmr.Text; // присвоение значений dlv.Customer из Dlv_Insr_tE_Ctmr.Text
                dlv.Address = Dlv_Insr_tE_Adrs.Text; // присвоение значений dlv.Address из Dlv_Insr_tE_Adrs.Text
                dlv.Contact = Dlv_Insr_tE_Cntc.Text; // присвоение значений dlv.Contact из Dlv_Insr_tE_Cntc.Text
                dlv.Note = Dlv_Insr_tE_Nt.Text; // присвоение значений dlv.Note из Dlv_Insr_tE_Nt.Text
                dlv.Movers = Dlv_Insr_tE_Mvrs.Text; // присвоение значений dlv.Movers из Dlv_Insr_tE_Mvrs.Text
                dlv.Date_crt = DateTime.Now.ToString();
                dlv.Id_stat = 8;

                b_dlv.Insert(dlv, prs); // вызов функции на добавление новой записи

                MessNotif.Informing("Запись успешно добавлена.", "Запись добавлена"); // информирование о добавление новой записи 

                FClose(); // закрытие формы
            }

            catch (Exception ex) // если не добавилось
            {
                MessageBox.Show(ex.ToString());
            }       
        }

        private void Dlv_Insr_sBt_Ex_Click(object sender, EventArgs e) // закрытие формы
        {
            FClose();
        }

        private void FormDlvInsr_Load(object sender, EventArgs e) // заполнение ComboBox при открытие формы
        {
            Dlv_Insr_cBE_Mg.Properties.Items.AddRange(b_dlv.FillComboBoxPers()); // заполнение FillComboBoxPers

            int mg = Dm_User.Id_pers; // объявление переменной и присвоение ей значения из Dlv_Upd_cBE_Mg.Text

            for (int i = 0; i < Dlv_Insr_cBE_Mg.Properties.Items.Count; ++i) //цикл на просмотр всех Item-ов
            {
                string s = Dlv_Insr_cBE_Mg.Properties.Items[i].ToString(); // объявление переменной и присвоение ей значения Item-а
                if (s == b_dlv.idxPers(mg)) // вызов фенкции на "поиск по id" и сравниване полученных данных со значениями из Item-ов
                {
                    idx = i; // присваивание idx значения нужного индекса
                }
            }

            Dlv_Insr_cBE_Mg.SelectedIndex = idx; // установка индекса

            Dlv_Insr_dE_Dt.DateTime = DateTime.Now;
            Dlv_Insr_dE_Dt.Properties.MinValue = Dlv_Insr_dE_Dt.DateTime.AddDays(1); // для выбора доступна "текущая дата + 1 день"
            Dlv_Insr_dE_Dt.Text = "";

            if (Dm_User.Id_post == 3)
            {
                Dlv_Insr_cBE_Mg.Enabled = true;

            }
            else
               Dlv_Insr_cBE_Mg.Enabled = true;
        }

        private void fullfill()
        {
            if (Dlv_Insr_dE_Dt.Text != "" & Dlv_Insr_tE_DsTmRd.Text != "" & Dlv_Insr_cBE_Mg.SelectedItem != null & Dlv_Insr_tE_Ctmr.Text != "" & Dlv_Insr_tE_Adrs.Text != "" & Dlv_Insr_tE_Cntc.Text != "" & Dlv_Insr_tE_Nt.Text != "" & Dlv_Insr_tE_Mvrs.Text != "")
            {
                Dlv_Insr_sBt_Insr.Enabled = true;
            }
            else
                Dlv_Insr_sBt_Insr.Enabled = false;
        }

        private void FormDlvInsr_MouseEnter(object sender, EventArgs e)
        {
            fullfill();
        }

        private void FClose() // функция для закрытия формы
        {
            Dlv_Insr_cBE_Mg.Properties.Items.Clear(); // отчистка ComboBoxPost
            this.Close();
        }

        private void FormDlvInsr_FormClosed(object sender, FormClosedEventArgs e)
        {
            FClose();
        }
    }
}
